Changing Java Programs
نویسندگان
چکیده
The promises of object-orientation and distributed computing could be delivered if the software we needed were written in stone. But it isn't, it changes. The challenge of distributed object-oriented maintenance is to find a means of evolving software, which already has a distributed client base. Working within this scenario, we observe how certain object-oriented language systems seek to support differing client requirements and service obligations. In particular, we examine how the Java Language Specification (JLS) facilitates the concept of binary compatibility, a useful property, but one that may introduce a class of clients who dare not re-compile! Following a suggestion in the new draft JLS, we describe our tool to manage distributed version control and we formulate some proposals for future developments.
منابع مشابه
Modeling Interactions in Feature Oriented Software Designs1
Feature Oriented Programming (FOP) is a general theory of software development where programs are assembled by composing feature modules. A feature X interacts structurally with another feature Y by changing Y’s source code. We advance FOP by proposing an algebraic theory of structural feature interactions that models feature interactions as derivatives. We use our theory to show how a legacy J...
متن کاملInterference Analysis for AspectJ pdfauthor
AspectJ is a language implementing aspect-oriented programming on top of Java. Besides modification of program flow and state using advice, AspectJ offers language elements to statically modify existing classes by changing their position in the inheritance hierarchy or introducing new members. This can lead to binding interference, i.e. the dynamic lookup of method calls not affected directly b...
متن کاملjcc: Integrating Timed Default Concurrent Constraint Programming into Java
This paper describes jcc, an integration of the timed default concurrent constraint programming framework [16] (Timed Default cc) into JAVA [7]. jcc is intended for use in education and research, for the programming of embedded reactive systems, for parallel/distributed simulation and modelling (particularly for space, robotics and systems biology applications), and to support the development o...
متن کاملProviding Orthogonal Persistence for Java (Extended Abstract)
A significant proportion of software requires persistent data, that is data that outlives the period of execution of individual programs. This is a simple consequence of the fact that most software is written to support human activities and many human activities continue for days, weeks, months or even tens of years. The design of an aircraft or the construction and maintenance of a large artef...
متن کاملSuperGlue: Component Programming with Object-Oriented Signals
The assembly of components that can handle continuously changing data results in programs that are more interactive. Unfortunately, the code that glues together such components is often difficult to write because it is exposed to many complicated event-handling details. This paper introduces the SuperGlue language where components are assembled by connecting their signals, which declaratively r...
متن کاملPresenting JECA: A Java Error Correcting Algorithm for the Java Intelligent Tutoring System
Error recovery in compiler design and construction is a wellknown area of Computer Science. Traditionally, the compiler’s responsibility has been to identify all possible errors in one pass of the source code in as short a period of real time as possible. However, in certain situations, it is more desirable to have the compiler act ‘intelligently’ by making ‘intelligent’ code changes and by off...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001